package loginlogs

import "yundian/internel/pkg/dingo"

// LoginLogsModel 后台登录日志表
type LoginLogsModel struct {
	Id         int        `gorm:"column:id" json:"id"`
	LoginTime  dingo.Time `gorm:"column:login_time" json:"loginTime"` // 登录时间
	LoginIp    string     `gorm:"column:login_ip" json:"loginIp"`     // 登录IP
	UserId     int        `gorm:"column:user_id" json:"userId"`       // 登录用户ID
	UserName   string     `gorm:"column:user_name" json:"userName"`   // 登录用户名（冗余 字段 ）
	IsAdmin    uint8      `gorm:"column:is_admin" json:"isAdmin"`     // 1管理员 2:运营商 3:代理商 4:商户 5:员工
	CreateAt   dingo.Time `gorm:"column:create_at" json:"createAt"`
	Phone    string     `gorm:"column:phone" json:"phone"`
	Desc     string     `gorm:"column:desc" json:"desc"`
	Module   string     `gorm:"column:module" json:"module"`
}

type LoginLogsList struct {
	Id         int        `gorm:"column:id" json:"id"`
	LoginTime  dingo.Time `gorm:"column:login_time" json:"loginTime"` // 登录时间
	LoginIp    string     `gorm:"column:login_ip" json:"loginIp"`     // 登录IP
	UserId     int        `gorm:"column:user_id" json:"userId"`       // 登录用户ID
	UserName   string     `gorm:"column:user_name" json:"userName"`   // 登录用户名（冗余 字段 ）
	IsAdmin    uint8      `gorm:"column:is_admin" json:"isAdmin"`     // 1管理员 2:运营商 3:代理商 4:商户 5:员工
	CreateAt   dingo.Time `gorm:"column:create_at" json:"createAt"`
	Phone    string     `gorm:"column:phone" json:"phone"`
	Desc     string     `gorm:"column:desc" json:"desc"`
	Module   string     `gorm:"column:module" json:"module"`

	UserPhone   string     `gorm:"column:user_phone" json:"userPhone"`
	RoleName    string     `gorm:"column:role_name" json:"roleName"`
	Name        string     `gorm:"column:name" json:"name"`
	UName       string     `gorm:"column:u_name" json:"uName"`
}

// 初始化模型
func New() *LoginLogsModel {
	return &LoginLogsModel{}
}

func (model *LoginLogsModel) Mutate(attrs ...LoginLogsAttr) *LoginLogsModel {
	LoginLogsAttrs(attrs).Apply(model)
	return model
}

// 获取表名
func (model *LoginLogsModel) GetTableName() string {
	return "login_logs"
}
